package com.vrv.app.cyberspace.modules.sys.controller;


import com.baomidou.mybatisplus.plugins.Page;
import com.vrv.app.cyberspace.common.utils.JSONResult;
import com.vrv.app.cyberspace.modules.sys.entity.EventFeedbackTable;
import com.vrv.app.cyberspace.modules.sys.service.IEventFeedbackTableService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import static com.vrv.app.cyberspace.common.utils.JSONResult.renderError;
import static com.vrv.app.cyberspace.common.utils.JSONResult.renderSuccess;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author sm
 * @since 2017-12-21
 */
@Api(description = "下发事件接口")
@RestController
@RequestMapping("/sys/eventFeedbackTable")
public class EventFeedbackTableController extends BaseController {

    @Autowired
    private IEventFeedbackTableService eventFeedbackTableService;

    /**
     * 响应反馈汇总中列表中的处理
     */
    @RequestMapping("/handle")
    public JSONResult handleEventFeedback(EventFeedbackTable eventFeedbackTable) {
        return eventFeedbackTableService.handleEventFeedback(eventFeedbackTable);
    }

    /**
     * 事件反馈-保存/提交
     */
    @RequestMapping("/submit")
    public JSONResult submitEventFeedback(EventFeedbackTable eventFeedbackTable) {
        return eventFeedbackTableService.submitEventFeedback(eventFeedbackTable) > 0 ? renderSuccess() : renderError();
    }

    /**
     * 事件反馈详情
     *
     * @param eventFeedbackTable--反馈表ID
     */
    @RequestMapping("/detail")
    public JSONResult detailEventFeedback(EventFeedbackTable eventFeedbackTable) {
        return renderSuccess(eventFeedbackTableService.detailEventFeedback(eventFeedbackTable));
    }

    /**
     * 事件反馈-我的任务/事件列表
     */
    @RequestMapping("/list")
    public JSONResult listEventFeedback(EventFeedbackTable eventFeedbackTable, Integer page, Integer size) {
        return renderSuccess(eventFeedbackTableService.listEventFeedback(eventFeedbackTable, new Page<>(page, size)));
    }

    /**
     * 下发列表汇总
     */
    @ApiOperation("下发列表汇总")
    @RequestMapping("/summary")
    public JSONResult summary(EventFeedbackTable eventFeedbackTable, Integer page, Integer size) {
        return renderSuccess(eventFeedbackTableService.summary(eventFeedbackTable, new Page<>(page, size)));
    }

    /**
     * 地方网信办下发
     */
    @RequestMapping("/release")
    public JSONResult releaseEvent(EventFeedbackTable eventFeedbackTable) {
        return eventFeedbackTableService.releaseEvent(eventFeedbackTable);
    }
}

